A multi-process system typically comprises a network of network elements each supporting one or more processes. Each network element is able to communicate with at least one other network element in the network via a physical layer communication link. Each process may communicate with one or more other processes residing on other network elements via an application layer communication link. In dynamic systems, the status and configuration of the processes may change during use. For example, the number and type of processes may be determined at run-time, the role of a process may change and/or the number of processes that are running may increase or decrease dynamically. As a result, inter-process interactions may also vary dynamically and are therefore relatively complex.
For such systems, conventional mechanisms such as asynchronous message queues, data buses and event mechanisms are normally used to enable inter-process communication. With message, bus or event based mechanisms, it is difficult for a system user to determine the state and/or configuration of the system.
It would be desirable therefore to provide means by which a dynamic multi-process system could readily be managed.